home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / etc_-_Configuration_Files / DEVINFO < prev    next >
Text File  |  1999-09-17  |  24KB  |  893 lines

  1. /*
  2.  * DEVINFO: device information for MAKEDEV
  3.  *
  4.  * MANY THANKS to those who have sent in corrections - I don't have most
  5.  * of the hardware listed in here, so it won't get fixed if nobody tells me.
  6.  * Mail to: David A. Holland <dholland@hcs.harvard.edu>
  7.  *
  8.  * Version 1.5: 1-Feb-97   Updated for kernel 2.0.x:
  9.  *                         Added random, urandom.
  10.  *                         Added ram0-7 and initrd instead of /dev/ram.
  11.  *                         Added new ptys (ptyp-ptye) and ttys (ttyp-ttye).
  12.  *                         Rearranged floppies yet again; remove "oldfloppies"
  13.  *                           to nuke obsolete names for floppy devices.
  14.  *                         Include major no. 7 for vcs/loop.
  15.  *                         SCSI disks go up to sdp now.
  16.  *                         Added temperature, watchdog, rtc, etc.
  17.  *                         Added amigamouse, atarimouse, sunmouse.
  18.  *                         Added alternate names for qic tape.
  19.  *                         Added: gs4500 gscd ttyH* cuh* optcd sjcd double*
  20.  *                           hitcd ttyD* cud* ttyE* cue* staliomem* wvisfgrab
  21.  *                           slm* ad* fb* cm205cd cm206cd mpu401* rom* flash*
  22.  *                           ttyX* cux* hd[efgh] scc* midi* smpte* route skip
  23.  *                           ed* ht* z2ram mlanai* ml16* mmetfgrab ez* yamm
  24.  *                           ttyI* cui* isdn* ttyR* cur* ttyL* cul* bc* kbd
  25.  *                           djs* dos_cd* dos_hd* st*[lma]
  26.  *                         SCSI cdroms are /dev/sr* as well as /dev/scd*.
  27.  *                         Fixed /dev/pcsp (was 13,3, now 13,1), add pcsp16.
  28.  *                         Corrected /dev/spx (was 30,2, now 30,1).
  29.  * Version 1.4: 21-Feb-95  Corrected proc entry for ibcs2.
  30.  *              27-Feb-95  Make 12 VCs by default.
  31.  *              25-Mar-95  Correct the "1994" dates in the version history.
  32.  *                         Added batches "serial-all" and "vts-all".
  33.  *                         Also, "cyclades" only makes 8 now; use 
  34.  *                         "cyclades-all" to get all 32 entries.
  35.  *                         Added QIC tape entries for default capacity setting.
  36.  *              20-Apr-95  Corrected the minor numbers for cyclades2.
  37.  *        3-Jun-95   Corrected group name for scsi cds
  38.  *                         Added "pty" batch to make all ptys
  39.  *                         Removed old entries with hd[a-d] and hda1[a-d]
  40.  *                         Added "hd2", an alias for "hd1", and "hd-all", to 
  41.  *                         be consistent with the cyclades and vts usage.
  42.  *                         Added "ide0" and "ide1" entries for shell MAKEDEV
  43.  *                         compatibility. 
  44.  *                         Retrieve /proc/devices entries ide0 and ide1 for
  45.  *                         hd and h1 groups.
  46.  *                         Make vcs and vcsa devices along with tty0-63.
  47.  *                         Made the "make 12 VCs by default" above work right.
  48.  *                         Added new names for busmice.
  49.  *                         Added lots more floppy modes and fd[4-7].
  50.  *                         Commented out idecd as it's rather obsolete.
  51.  *                         Added md[0-3].
  52.  *
  53.  * Version 1.3: 14-Feb-95  Corrections from perusing the 1.1.91 source tree.
  54.  *                           hd1[a-b] becomes hd[c-d]; see comments below.
  55.  *                           Corrected idecd entry. 
  56.  *                           Added entry for Aztech cdrom.
  57.  *                           Corrected sbpcd entries. 
  58.  *                           Invented new [and better] names for the 
  59.  *                           QIC tape entries.
  60.  *                           There appear to be up to 32 cyclades devices 
  61.  *                           supported in 1.1.91.
  62.  *
  63.  * Version 1.2: 14-Feb-95  Revisions snarfed from shell MAKEDEV 2.1.
  64.  *                           Added cyclades, idecd, apm, dcf.
  65.  *                           Added /proc entry for joysticks.
  66.  *                           Scanner becomes logiscan/m105scan/ac4096.
  67.  *                           Some new audio devices.
  68.  *                           More high-number floppy entries.
  69.  *                           Scsi tapes+cds now go 0-7.
  70.  *                           Removed default major numbers for 
  71.  *                             cdu31a, pcaudio, ibcs2.
  72.  *                         Corrected a comment erroneously indicating 
  73.  *                         fd4 was possible.
  74.  *
  75.  * Version 1.1: 13-Feb-95  Corrected scsi tapes (which were totally wrong)
  76.  * Version 1.0: 11-Dec-94  Initial version
  77.  */
  78.  
  79. /* ignore when /proc/devices mentions these: */
  80. /* (this is how it was before; couldn't we use mem? */
  81. ignore { mem, tty, pcmcia }
  82.  
  83. /* make a batch called generic, standard set of stuff */
  84. batch generic {
  85.       std, misc, ibcs2, consoles,
  86.       hda, hdb, xda, xdb, sda, sdb, loop,
  87.       fd, 
  88.       printers, 
  89.       busmice, 
  90.       vts, 
  91.       serial,
  92.       ptyp, ptyq
  93. }
  94.  
  95.  
  96. /********************************  BASICS ***********************************/
  97.  
  98. // The "std" group - basic devices */
  99. char (std, 1) {
  100.     mem (kmem): 1
  101.     kmem (kmem): 2
  102.     null (public) : 3
  103.     port (kmem) : 4
  104.            zero (public) : 5
  105.     core -> "/proc/kcore"
  106.     full (public) : 7
  107.     random (publicro) : 8
  108.     urandom (publicro) : 9
  109. }
  110. block (std, 1) {
  111.     initrd (disk) : 250
  112. }
  113. char (std, 5) {
  114.     tty (public) : 0
  115. }
  116. block(ram, 1) {
  117.     ram[0-7] (disk) : 0
  118. }
  119.  
  120. /* Assorted other devices */
  121. char (misc=misc, 10) {
  122.     beep (audio)         : 128
  123.     modreq (system)      : 129
  124.     watchdog (system)    : 130
  125.     temperature (system) : 131
  126.     hwtrap (system)      : 132
  127.     exttrp (system)      : 133
  128.     apm_bios (system)    : 134
  129.     rtc (system)         : 135
  130.     qcam[0-2] (video)    : 136
  131. }
  132.  
  133. // We now also make the vcs devices (virtual console screens)
  134. // along with the vts (virtual console ttys)
  135.  
  136. /* the "consoles" group - system console */
  137. char (consoles,4) {
  138.     console (cons) : 0       # /dev/console
  139.     tty0 (cons) : 0          # tty0 == console
  140. }
  141. char (consoles=vcs,7) {
  142.     vcs0 (vcs) : 0
  143.     vcsa (vcs) : 128
  144. }
  145.  
  146. /* VTs tty1-tty63 (tty0 is special) */
  147. /* group "vts" is tty1-8; "vts2" is the rest; "vts-all" is all */
  148.  
  149. char (vts, 4) tty[1-12] (tty) : 1
  150. char (vts=vcs,7) {
  151.     vcs[1-12] (vcs) : 1
  152.     vcsa[1-12] (vcs) : 128 + 1
  153. }
  154.  
  155. char (vts2, 4) tty [13-63] (tty) : 13
  156. char (vts2=vcs,7) { 
  157.     vcs[13-63] (vcs) : 13
  158.     vcsa[13-63] (vcs) : 128 + 13
  159. }
  160.  
  161. batch vts-all { vts, vts2 }
  162.  
  163. // for shell MAKEDEV compatibility (approximately)
  164. batch console { vts, consoles }
  165.  
  166. /* New ptys: pty[pqrstuvwxyzabcde][0-f] */
  167. /* The names "ptyp", etc. make these and the corresponding ttys */
  168. char (pptyp, 2) ptyp[0x0-f] (pty) : 0
  169. char (pptyq, 2) ptyq[0x0-f] (pty) : 16
  170. char (pptyr, 2) ptyr[0x0-f] (pty) : 32
  171. char (pptys, 2) ptys[0x0-f] (pty) : 48
  172. char (pptyt, 2) ptyt[0x0-f] (pty) : 64
  173. char (pptyu, 2) ptyu[0x0-f] (pty) : 80
  174. char (pptyv, 2) ptyv[0x0-f] (pty) : 96
  175. char (pptyw, 2) ptyw[0x0-f] (pty) : 112
  176. char (pptyx, 2) ptyx[0x0-f] (pty) : 128
  177. char (pptyy, 2) ptyy[0x0-f] (pty) : 144
  178. char (pptyz, 2) ptyz[0x0-f] (pty) : 160
  179. char (pptya, 2) ptya[0x0-f] (pty) : 176
  180. char (pptyb, 2) ptyb[0x0-f] (pty) : 192
  181. char (pptyc, 2) ptyc[0x0-f] (pty) : 208
  182. char (pptyd, 2) ptyd[0x0-f] (pty) : 224
  183. char (pptye, 2) ptye[0x0-f] (pty) : 240
  184.  
  185. /* New pty ttys */
  186. char (ttyp, 3) ttyp[0x0-f] (tty) : 0
  187. char (ttyq, 3) ttyq[0x0-f] (tty) : 16
  188. char (ttyr, 3) ttyr[0x0-f] (tty) : 32
  189. char (ttys, 3) ttys[0x0-f] (tty) : 48
  190. char (ttyt, 3) ttyt[0x0-f] (tty) : 64
  191. char (ttyu, 3) ttyu[0x0-f] (tty) : 80
  192. char (ttyv, 3) ttyv[0x0-f] (tty) : 96
  193. char (ttyw, 3) ttyw[0x0-f] (tty) : 112
  194. char (ttyx, 3) ttyx[0x0-f] (tty) : 128
  195. char (ttyy, 3) ttyy[0x0-f] (tty) : 144
  196. char (ttyz, 3) ttyz[0x0-f] (tty) : 160
  197. char (ttya, 3) ttya[0x0-f] (tty) : 176
  198. char (ttyb, 3) ttyb[0x0-f] (tty) : 192
  199. char (ttyc, 3) ttyc[0x0-f] (tty) : 208
  200. char (ttyd, 3) ttyd[0x0-f] (tty) : 224
  201. char (ttye, 3) ttye[0x0-f] (tty) : 240
  202.  
  203. /* Batch rules for grouping master/slave ends */
  204. batch ptyp { pptyp ttyp }
  205. batch ptyq { pptyq ttyq }
  206. batch ptyr { pptyr ttyr }
  207. batch ptys { pptys ttys }
  208. batch ptyt { pptyt ttyt }
  209. batch ptyu { pptyu ttyu }
  210. batch ptyv { pptyv ttyv }
  211. batch ptyw { pptyw ttyw }
  212. batch ptyx { pptyx ttyx }
  213. batch ptyy { pptyy ttyy }
  214. batch ptyz { pptyz ttyz }
  215. batch ptya { pptya ttya }
  216. batch ptyb { pptyb ttyb }
  217. batch ptyc { pptyc ttyc }
  218. batch ptyd { pptyd ttyd }
  219. batch ptye { pptye ttye }
  220.  
  221. /* This usage is consistent with other stuff */
  222. batch pty { ptyp ptyq ptyr ptys }
  223. batch pty2 { ptyt ptyu ptyv ptyw ptyx ptyy ptyz ptya ptyb ptyc ptyd ptye }
  224. batch pty-all { pty pty2 }
  225.  
  226.  
  227. /* old ptys: pty[pqrs][0-9a-f] and tty[pqrs][0-9][a-f] */
  228. /* grouped as oldptyp, oldptyq, oldptyr, and oldptys */
  229. char (oldptyp, 4) {
  230.         ptyp[0x0-f] (pty) : 128+0*16
  231.         ttyp[0x0-f] (tty) : 192+0*16
  232. }
  233. char (oldptyq, 4) {
  234.         ptyq[0x0-f] (pty) : 128+1*16
  235.         ttyq[0x0-f] (tty) : 192+1*16
  236. }
  237. char (oldptyr, 4) {
  238.         ptyr[0x0-f] (pty) : 128+2*16
  239.         ttyr[0x0-f] (tty) : 192+2*16
  240. }
  241. char (oldptys, 4) {
  242.         ptys[0x0-f] (pty) : 128+3*16
  243.         ttys[0x0-f] (tty) : 192+3*16
  244. }
  245. batch oldpty { oldptyp oldptyq oldptyr oldptys }
  246.  
  247.  
  248. /****************************** SERIAL *************************************/
  249.  
  250. /* serial ports, ttyS0-ttyS63 and cua0-cua63 */
  251. /* group "serial" is just ttyS0-3 and cua0-3; "serial2" is the rest */
  252. // serial-all builds all serial devices
  253. char (serial, 4) ttyS[0-3]  (tty)     : 64
  254. char (serial2,4) ttyS[4-63] (tty)     : 64+4
  255. char (serial, 5) cua[0-3]   (dialout) : 64
  256. char (serial2,5) cua[4-63]  (dialout) : 64 + 4
  257. batch serial-all { serial, serial2 }
  258.  
  259. /* cyclades serial multiplexer */
  260. // cyclades just the first board's worth of devices.
  261. // cyclades-all builds them all.
  262. char (cyclades=ttyC, 19) {
  263.     ttyC[0-7] (tty) : 32
  264. }
  265. char (cyclades=cub, 20) {
  266.     cub[0-7] (dialout) : 32
  267. }
  268. char (cyclades2=ttyC, 19) {
  269.     ttyC[8-31] (tty) : 32+8
  270. }
  271. char (cyclades2=cub, 20) {
  272.     cub[8-31] (dialout) : 32+8
  273. }
  274. batch cyclades-all { cyclades, cyclades2 }
  275.  
  276. /* Digiboard serial card (how many ports?) */
  277. char (digiboard, 22) {
  278.     ttyD[0-31] (tty) : 0
  279. }
  280. char (digiboard, 23) {
  281.     cud[0-31] (dialout) : 0
  282. }
  283.  
  284. /* Stallion serial card */
  285. char (stallion, 24) {
  286.     ttyE[0-255] (tty) : 0
  287. }
  288. char (stallion, 25) {
  289.     cue[0-255] (dialout) : 0
  290. }
  291. char (stallion, 28) {
  292.     /* WARNING, this overlaps with slm*. 
  293.        Don't make those if you have this. */
  294.     staliomem[0-3] (system) : 0
  295. }
  296.  
  297. /* Specialix serial card (how many ports?) */
  298. char (specialix, 32) {
  299.     ttyX[0-31] (tty) : 0
  300. }
  301. char (specialix, 33) {
  302.     cux[0-31] (dialout) : 0
  303. }
  304.  
  305. /* Chase serial card (how many ports?) */
  306. char (chase, 17) {
  307.     ttyH[0-7] (tty) : 0
  308. }
  309. char (chase, 18) {
  310.     cuh[0-7] (dialout) : 0
  311. }
  312.  
  313. /* ISDN virtual modems */
  314. char (isdn4linux, 43) {
  315.     ttyI[0-63] (tty) : 0
  316. }
  317. char (isdn4linux, 44) {
  318.     cui[0-63] (callout) : 0
  319. }
  320. char (isdn4linux, 45) {
  321.     isdn[0-63] (system) : 0
  322.     isdnctrl[0-63] (system) : 64
  323.     ippp[0-63] (system) : 128
  324.     isdninfo (system) : 255
  325. }
  326.  
  327. /* Comtrol Rocketport serial card (how many ports?) */
  328. char (rocketport, 46) {
  329.     ttyR[0-63] (tty) : 0
  330. }
  331. char (rocketport, 47) {
  332.     cur[0-63] (dialout) : 0
  333. }
  334.  
  335. /* SDL RISCom serial card (how many ports?) */
  336. char (riscom, 48) {
  337.     ttyL[0-63] (tty) : 0
  338. }
  339. char (riscom, 49) {
  340.     cul[0-63] (dialout) : 0
  341. }
  342.  
  343. /* Baycom radio modem */
  344. char (baycom, 51) {
  345.     bc[0-7] (dialout) : 0
  346. }
  347.  
  348. /******************************* PRINTERS *********************************/
  349.  
  350. /* parallel ports par0-3 and printers lp0-3 (which are merely aliases) */
  351. /* group is "printers" */
  352. /* does "lp3" exist? */
  353. char (printers=lp, 6) {
  354.     par[0-3] (printer) : 0
  355.     lp[0-3] (printer) : 0
  356. }
  357.  
  358. /* WARNING this overlaps with stallion memory devices. */
  359. /* Don't make this if you have those. */
  360. /* Atari SLM laser printer - m68k/atarist only */
  361. char (slm, 28) {
  362.     slm[0-3] (printer) : 0
  363. }
  364.  
  365. /*************************** MICE and JOYSTICKS ****************************/
  366.  
  367. /* busmice: logibm, psaux, inportbm, atibm */
  368. /* Major number 10 is now known as "misc", not "mouse" */
  369. char (busmice=misc, 10) {
  370.     logibm      (mouse) : 0
  371.     logimouse   (mouse) : 0
  372.     psaux       (mouse) : 1
  373.     psmouse     (mouse) : 1
  374.     inportbm    (mouse) : 2
  375.     msmouse     (mouse) : 2
  376.     atibm       (mouse) : 3
  377.     atimouse    (mouse) : 3
  378.     # sejin     (mouse) : 4
  379.     jmouse      (mouse) : 4
  380.     jbm         (mouse) : 4
  381.     amigamouse  (mouse) : 4
  382.     atarimouse  (mouse) : 5
  383.     sunmouse    (mouse) : 6
  384.     amigamouse1 (mouse) : 7
  385. }
  386.  
  387. /* joysticks: js0, js1; group "js" */
  388. char (js=Joystick) {
  389.     js[0-1] (mouse) : 0
  390.     djs[0-1] (mouse) : 128
  391. }
  392.  
  393. /* Raw keyboard (sparc only) */
  394. char (kbd,11) kbd (system) : 0
  395.  
  396.  
  397. /*************************** FLOPPY DISKS **********************************/
  398.  
  399. /* floppies: fd0-3, and 4-7, with lots of modes */
  400. /* there really ought to be a cleaner way of doing this...*/
  401. block (floppies=fd, 2) {
  402.     fd[0-3]       (floppy) : 0
  403.     fd[4-7]       (floppy) : 128 + 0
  404.     fd[0-3]d360   (floppy) : 4
  405.     fd[4-7]d360   (floppy) : 128 + 4
  406.     fd[0-3]h1200  (floppy) : 8
  407.     fd[4-7]h1200  (floppy) : 128 + 8
  408.     fd[0-3]u360   (floppy) : 12
  409.     fd[4-7]u360   (floppy) : 128 + 12
  410.     fd[0-3]h360   (floppy) : 20
  411.     fd[4-7]h360   (floppy) : 128 + 20
  412.     fd[0-3]h720   (floppy) : 24
  413.     fd[4-7]h720   (floppy) : 128 + 24
  414.     fd[0-3]u1440  (floppy) : 28
  415.     fd[4-7]u1440  (floppy) : 128 + 28
  416.     fd[0-3]u2880  (floppy) : 32
  417.     fd[4-7]u2880  (floppy) : 128 + 32
  418.     fd[0-3]CompaQ (floppy) : 36
  419.     fd[4-7]CompaQ (floppy) : 128 + 36
  420.     fd[0-3]h1440  (floppy) : 40
  421.     fd[4-7]h1440  (floppy) : 128 + 40
  422.     fd[0-3]u1680  (floppy) : 44
  423.     fd[4-7]u1680  (floppy) : 128 + 44
  424.     fd[0-3]h410   (floppy) : 48
  425.     fd[4-7]h410   (floppy) : 128 + 48
  426.     fd[0-3]u820   (floppy) : 52
  427.     fd[4-7]u820   (floppy) : 128 + 52
  428.     fd[0-3]h1476  (floppy) : 56
  429.     fd[4-7]h1476  (floppy) : 128 + 56
  430.     fd[0-3]u1722  (floppy) : 60
  431.     fd[4-7]u1722  (floppy) : 128 + 60
  432.     fd[0-3]h420   (floppy) : 64
  433.     fd[4-7]h420   (floppy) : 128 + 64
  434.     fd[0-3]u830   (floppy) : 68
  435.     fd[4-7]u830   (floppy) : 128 + 68
  436.     fd[0-3]h1494  (floppy) : 72
  437.     fd[4-7]h1494  (floppy) : 128 + 72
  438.     fd[0-3]u1743  (floppy) : 76
  439.     fd[4-7]u1743  (floppy) : 128 + 76
  440.     fd[0-3]h880   (floppy) : 80
  441.     fd[4-7]h880   (floppy) : 128 + 80
  442.     fd[0-3]u1040  (floppy) : 84
  443.     fd[4-7]u1040  (floppy) : 128 + 84
  444.     fd[0-3]u1120  (floppy) : 88
  445.     fd[4-7]u1120  (floppy) : 128 + 88
  446.     fd[0-3]h1600  (floppy) : 92
  447.     fd[4-7]h1600  (floppy) : 128 + 92
  448.     fd[0-3]u1760  (floppy) : 96
  449.     fd[4-7]u1760  (floppy) : 128 + 96
  450.     fd[0-3]u1920  (floppy) : 100
  451.     fd[4-7]u1920  (floppy) : 128 + 100
  452.     fd[0-3]u3200  (floppy) : 104
  453.     fd[4-7]u3200  (floppy) : 128 + 104
  454.     fd[0-3]u3520  (floppy) : 108
  455.     fd[4-7]u3520  (floppy) : 128 + 108
  456.     fd[0-3]u3840  (floppy) : 112
  457.     fd[4-7]u3840  (floppy) : 128 + 112
  458.     fd[0-3]u1840  (floppy) : 116
  459.     fd[4-7]u1840  (floppy) : 128 + 116
  460.     fd[0-3]u800   (floppy) : 120
  461.     fd[4-7]u800   (floppy) : 128 + 120
  462.     fd[0-3]u1600  (floppy) : 124
  463.     fd[4-7]u1600  (floppy) : 128 + 124
  464. }
  465.  
  466. /* Various old names for floppy devices. */
  467. /* This is recommended to be used for removing them only. */
  468. block (oldfloppies=fd, 2) {
  469.     fd[0-3]D360   (floppy) : 12
  470.     fd[4-7]D360   (floppy) : 128 + 12
  471.     fd[0-3]H360   (floppy) : 12
  472.     fd[4-7]H360   (floppy) : 128 + 12
  473.     fd[0-3]D720   (floppy) : 16
  474.     fd[4-7]D720   (floppy) : 128 + 16
  475.     fd[0-3]H720   (floppy) : 16
  476.     fd[4-7]H720   (floppy) : 128 + 16
  477.     fd[0-3]H1440  (floppy) : 28
  478.     fd[4-7]H1440  (floppy) : 128 + 28
  479.     fd[0-3]H2880  (floppy) : 32
  480.     fd[4-7]H2880  (floppy) : 128 + 32
  481.     fd[0-3]H1680  (floppy) : 44
  482.     fd[4-7]H1680  (floppy) : 128 + 44
  483.     fd[0-3]H820   (floppy) : 52
  484.     fd[4-7]H820   (floppy) : 128 + 52
  485.     fd[0-3]H1476  (floppy) : 56
  486.     fd[4-7]H1476  (floppy) : 128 + 56
  487.     fd[0-3]H1722  (floppy) : 60
  488.     fd[4-7]H1722  (floppy) : 128 + 60
  489.     fd[0-3]h830   (floppy) : 68
  490.     fd[4-7]h830   (floppy) : 128 + 68
  491.     fd[0-3]h1743  (floppy) : 76
  492.     fd[4-7]h1743  (floppy) : 128 + 76
  493.     fd[0-3]D1040  (floppy) : 84
  494.     fd[4-7]D1040  (floppy) : 128 + 84
  495.     fd[0-3]D1120  (floppy) : 88
  496.     fd[4-7]D1120  (floppy) : 128 + 88
  497.     fd[0-3]H1760  (floppy) : 96
  498.     fd[4-7]H1760  (floppy) : 128 + 96
  499.     fd[0-3]H1920  (floppy) : 100
  500.     fd[4-7]H1920  (floppy) : 128 + 100
  501.     fd[0-3]E3200  (floppy) : 104
  502.     fd[4-7]E3200  (floppy) : 128 + 104
  503.     fd[0-3]E3520  (floppy) : 108
  504.     fd[4-7]E3520  (floppy) : 128 + 108
  505.     fd[0-3]E3840  (floppy) : 112
  506.     fd[4-7]E3840  (floppy) : 128 + 112
  507.     fd[0-3]H1840  (floppy) : 116
  508.     fd[4-7]H1840  (floppy) : 128 + 116
  509.     fd[0-3]D800   (floppy) : 120
  510.     fd[4-7]D800   (floppy) : 128 + 120
  511.     fd[0-3]H1600  (floppy) : 124
  512.     fd[4-7]H1600  (floppy) : 128 + 124
  513. }
  514.  
  515. /******************************* HARD DISKS *********************************/
  516.  
  517. // Newer kernels stick 'ide0' in /proc/devices instead of 'hd'. 
  518. // We really ought to look in /proc/devices for 'hd' as well as 'ide0'.
  519. // However, 'hd' has always, to my knowledge, been 3. So we shall punt,
  520. // instead of adding code to permit searching for multiple names.
  521.  
  522. /* AT hard disks hda-b (partitions 1-8 and main) */
  523. block(hd=ide0,3) hd[a-b] 8/64
  524. /* and 2nd controller */
  525. block(hd2=ide1,22) hd[c-d] 8/64
  526. /* and 3rd controller */
  527. block(hd3, 33) hd[e-f] 8/64
  528. /* and 4th controller */
  529. block(hd4, 34) hd[g-h] 8/64
  530.  
  531. // Ordinarily, the use of the syntax above would automatically create
  532. // these batches. Because of the way it's done (this is a bug, and hopefully
  533. // will be fixed in a future release) the batch for the hd[2-4] devices is
  534. // also created as "hd". This cannot be accessed, but does no harm as
  535. // long as the order of the above two declarations isn't reversed. sigh.
  536. // Anyway, this line works around the problem.
  537. batch hd1 { hda hdb }
  538. batch hd2 { hdc hdd }
  539. batch hd3 { hde hdf }
  540. batch hd4 { hdg hdh }
  541.  
  542. // For consistency with the other setups above (cyclades, vts, etc.)
  543. batch hd-all { hd hd2 hd3 hd4 }
  544.  
  545. // For compatibility with the shell MAKEDEV
  546. batch ide0 { hda hdb }
  547. batch ide1 { hdc hdd }
  548. batch ide2 { hde hdf }
  549. batch ide3 { hdg hdh }
  550.  
  551. /* XT hard drives */
  552. block(xd=xd,13) xd[a-d] 8/64
  553.  
  554. /* BIOS hard drives */
  555. block(doshd,14) dos_hd[a-d] 8/64
  556. batch dos_hd { doshd }
  557.  
  558. /* scsi hard disks sda-sdp */
  559. block(sd=sd,8) sd[a-p] 8/16
  560.  
  561. /* loopback disk devices; group "loop" */
  562. block(loop=loop,7) loop[0-7] (disk) : 0
  563.  
  564. /* disk striping: "metadisk" */
  565. block(md=md) md[0-3] (disk) : 0
  566.  
  567. /* Compressed disks */
  568. block (double, 19) {
  569.     double[0-7] (disk) : 0
  570.     cdouble[0-7] (disk) : 128
  571. }
  572.  
  573. /* Atari ST ASCI disks */
  574. /* Warning, these overlap sbpcd[12-15]. */
  575. block(ad,28) ad[a-p] 8/16
  576.  
  577. /* ESDI MCA disks */
  578. block(ed,36) ed[a-d] 8/64
  579.  
  580. /* Zorro 2 ramdisk */
  581. block(z2ram, 37) z2ram (disk) : 0
  582.  
  583. /* Syquest EZ135 removable drive */
  584. block(ez, 40) ez[a-d] 8/64
  585.  
  586. /********************************** TAPES **********************************/
  587.  
  588. /* scsi tapes st0-7 */
  589. char(st=st, 9) {
  590.     st[0-7] (tape) : 0
  591.     st[0-7]l (tape) : 32
  592.     st[0-7]m (tape) : 64
  593.     st[0-7]a (tape) : 96
  594.     nst[0-7] (tape) : 128
  595.     nst[0-7]l (tape) : 128 + 32
  596.     nst[0-7]m (tape) : 128 + 64
  597.     nst[0-7]a (tape) : 128 + 96
  598. }
  599.  
  600. /* qic tapes - group "qic" */
  601. // The following is what came with the shell MAKEDEV.
  602. //char (qic=tpqic02, 12) {
  603. //    rmt8       (tape) : 6
  604. //    rmt16      (tape) : 8
  605. //    tape-d     (tape) : 136
  606. //    tape-reset (tape) : 255
  607. //}
  608. // This, on the other hand, appears to be more correct.
  609.  
  610. /*
  611.  *  By the authority vested in me as the maintainer of this file, 
  612.  *  I have made up the device names. The "n" versions don't rewind,
  613.  *  as with other tape devices. The number specifies the model/capacity.
  614.  *  There's not really room left for unit numbers, but I suppose there
  615.  *  probably aren't many people with multiple QIC drives either...
  616.  */
  617. char (qic=tpqic02, 12) {
  618.     nqt    (tape) : 0
  619.     qt    (tape) : 1
  620.     nqt11    (tape) : 2
  621.     ntpqic11 (tape) : 2
  622.     qt11     (tape) : 3
  623.     tpqic11  (tape) : 3
  624.     nqt24     (tape) : 4
  625.     ntpqic24 (tape) : 4
  626.     qt24     (tape) : 5
  627.     tpqic24  (tape) : 5
  628.     nqt120      (tape) : 6
  629.     ntpqic120 (tape) : 6
  630.     qt120      (tape) : 7
  631.     tpqic120  (tape) : 7
  632.     nqt150      (tape) : 8
  633.     ntpqic150 (tape) : 8
  634.     qt150      (tape) : 9
  635.     tpqic150  (tape) : 9
  636.     qt-reset (tape) : 255
  637. }
  638.  
  639. /* ftapes - group ftape */
  640. char (ftape=mt, 27) {
  641.     rft[0-3]  (tape) : 0
  642.     nrft[0-3] (tape) : 4
  643.     ftape -> rft0
  644.     nftape -> nrft0
  645. }
  646.  
  647. /* ide tape */
  648. char (ht, 37) {
  649.     ht0 (tape) : 0
  650.     nht0 (tape) : 128
  651. }
  652. batch idetape { ht }
  653.  
  654. /********************************* CDROMS ***********************************/
  655.  
  656.  
  657. /* scsi cd */
  658. /* /dev/scd* is the better name, /dev/sr* is used also */
  659. block(scd=sr, 11) {
  660.     scd[0-7] (cdrom) : 0
  661.     sr[0-7] (cdrom) : 0
  662. }
  663. batch sr { scd }
  664.  
  665. /* MSCDEX CD-ROM callback support */
  666. block (doscd, 12) {
  667.     dos_cd[0-7] (cdrom) : 0
  668. }
  669. batch dos_cd { doscd }
  670.  
  671. /* sony cd */
  672. block(sonycd=cdu31a, 15) sonycd (cdrom) : 0
  673.  
  674. /* mitsumi cd */
  675. block(mcd=mcd, 23) mcd (cdrom) : 0
  676.  
  677. /* Sony cdu535 */
  678. block(cdu535="cdu-535", 24) cdu535 (cdrom) : 0
  679.  
  680. /* LMS/Philips CD player */
  681. block(lmscd, 30) {   // was 24
  682. //    lmscd (cdrom) : 0     // old name
  683.     cm205cd (cdrom) : 0
  684. }
  685. block(cm206, 32) {
  686.     cm206cd (cdrom) : 0
  687. }
  688.  
  689. /* Aztech CDROM */
  690. block(aztcd, 29) aztcd0 (cdrom) : 0
  691.  
  692. /* GoldStar CDROM */
  693. block(gscd, 16) gscd (cdrom) : 0
  694.  
  695. /* Optics Storage cdrom */
  696. block(optcd, 17) optcd (cdrom) : 0
  697.  
  698. /* Sanyo CDROM */
  699. block(sjcd, 18) sjcd (cdrom) : 0
  700.  
  701. /* Hitachi CDROM */
  702. block(hitcd, 20) hitcd (cdrom) : 0
  703.  
  704. /* soundblaster CD, 1st controller */
  705. block(sbpcd=sbpcd, 25) {
  706.     sbpcd      (cdrom) : 0
  707.     sbpcd[0-3] (cdrom) : 0
  708. }
  709. /* 2nd, 3rd, 4th */
  710. block(sbpcd=sbpcd2, 26) sbpcd[4-7] (cdrom) : 0
  711. block(sbpcd=sbpcd3, 27) sbpcd[8-11] (cdrom) : 0
  712. block(sbpcd=sbpcd4, 28) sbpcd[12-15] (cdrom) : 0
  713. /* warning, sbpcd4 overlaps ad*. */
  714.  
  715. /* ide cd */
  716. // OBSOLETE
  717. //block (idecd=idecd) {
  718. //    idecd    (cdrom) : 0
  719. //}
  720.  
  721. /******************************* SCANNERS ************************************/
  722.  
  723. /* Logitech scanner */
  724. char (logiscan=logiscan) {
  725.     logiscan (scanner) : 0
  726. }
  727.  
  728. /* Genius 4500 scanner */
  729. char (geniusscan, 16) {
  730.     gs4500 (scanner) : 0
  731. }
  732.  
  733. char (m105scan=m105) {
  734.     m105scan (scanner) : 0
  735. }
  736.  
  737. char (ac4096=ac4096) {
  738.     ac4096 (scanner) : 0
  739. }
  740.  
  741. // this is apparently obsolete?
  742. //char (scan=Scanner) {
  743. //    scan  (scanner) : 0
  744. //    scand (scanner) : 1
  745. //}
  746.  
  747. /* Quanta WinVision frame grabber */
  748. char (wvisfgrab, 26) {
  749.     wvisfgrab (video) : 0
  750. }
  751.  
  752. /* Matrox Meteor frame grabber */
  753. char (mmetfgrab, 40) {
  754.     mmetfgrab (video) : 0
  755. }
  756.  
  757. /******************************** AUDIO **********************************/
  758.  
  759. /* audio */
  760. char (audio=sound, 14) {
  761.     mixer      (audio) : 0
  762.     sequencer (audio) : 1
  763.     midi00      (audio) : 2
  764.     midi -> midi00
  765.     dsp      (audio) : 3
  766.     audio      (audio) : 4
  767.     sndstat      (audio) : 6
  768.     sequencer2(audio) : 8
  769.     mixer1      (audio) : 16
  770.     patmgr0   (audio) : 17
  771.     midi01      (audio) : 18
  772.     dsp1      (audio) : 19
  773.     audio1      (audio) : 20
  774.     patmgr1      (audio) : 33
  775.     midi02      (audio) : 34
  776.     midi03      (audio) : 50
  777. }
  778.  
  779. /* pc speaker */
  780. char (pcaudio=pcsp) {
  781.     pcmixer (audio) : 0
  782.     pcsp    (audio) : 1  /* This used to be 3...? */
  783.     pcaudio (audio) : 4
  784.     pcsb16  (audio) : 5
  785. }
  786.  
  787. /* mpu401 midi */
  788. char (mpu401, 31) {
  789.     mpu401data (audio) : 0
  790.     mpu401stat (audio) : 1
  791. }
  792.  
  793. /* tclmidi */
  794. char (tclmidi, 35) {
  795.     midi[0-3] (audio) : 0
  796.     rmidi[0-3] (audio) : 64
  797.     smpte[0-3] (audio) : 128
  798. }
  799.  
  800. /****************************** FRAMEBUFFERS *********************************/
  801.  
  802. char (fb, 29) {
  803.     fb0           (video) : 0
  804.     fb0current    (video) : 0
  805.     fb0autodetect (video) : 1
  806.     fb0user[0-7]  (video) : 24
  807.     fb1           (video) : 32 + 0
  808.     fb1current    (video) : 32 + 0
  809.     fb1autodetect (video) : 32 + 1
  810.     fb1user[0-7]  (video) : 32 + 24
  811. }
  812. batch framebuffer { fb }
  813.  
  814. /********************************** MISC *************************************/
  815.  
  816. /* ROM and flash RAM cards */
  817. block (rom, 31) {
  818.     rom[0-7] (disk) : 0
  819.     rrom[0-7] (disk) : 8
  820. }
  821. block (flash, 31) {
  822.     flash[0-7] (disk) : 16
  823.     rflash[0-7] (disk) : 24
  824. }
  825.  
  826. /* Z8530 HDLC driver (what is this? how many nodes?) */
  827. char (scc, 34) {
  828.     scc[0-7] (system) : 0
  829. }
  830.  
  831. /* sg: generic scsi devices */
  832. /* The names sg[a-h] are obsolete */
  833. char (sg=sg, 21) {
  834.     sg[0-7] (scsi) : 0
  835. }
  836.  
  837. /* fd: file descriptors */
  838. char (fd, 0) {  // the 0 is not used - there are only links in here!
  839.     fd     -> "/proc/self/fd"
  840.     stdin  -> "fd/0"
  841.     stdout -> "fd/1"
  842.     stderr -> "fd/2"
  843. }
  844.  
  845. /* ibcs2: coff emulation stuff */
  846. char (ibcs2=socksys, 30) {
  847.     socksys (ibcs2) : 0
  848.     spx     (ibcs2) : 1  /* was 2? */
  849.     nfsd -> socksys
  850.     XOR -> null
  851. }
  852.  
  853. /* netlink support */
  854. char (netlink, 36) {
  855.     route (system) : 0
  856.     skip (system) : 1
  857. }
  858.  
  859. /* Myricom PCI Myrinet board */
  860. char (mlanai, 38) {
  861.     mlanai[0-3] (system) : 0
  862. }
  863.  
  864. /* ML-16P experimental I/O board */
  865. char (ml16, 39) {
  866.     ml16pa-a[0-15] (system) : 0
  867.     ml16pa-d       (system) : 16
  868.         ml16pa-c[0-2]  (system) : 17
  869.     ml16pb-a[0-15] (system) : 32 + 0
  870.     ml16pb-d       (system) : 32 + 16
  871.         ml16pb-c[0-2]  (system) : 32 + 17
  872. }
  873.  
  874. /* Obsolete? */
  875. // char (apm=apm_bios) {
  876. //    apm (system) : 0
  877. // }
  878.  
  879. char (dcf=dcf) {
  880.     dcf (system) : 0
  881. }
  882.  
  883. /* device for "yamm" */
  884. char (yamm, 41) {
  885.     yamm (system) : 0
  886. }
  887.  
  888. /* demo device for module stuff */
  889. char (hw=hw) {
  890.     helloworld (public) : 0
  891. }
  892.  
  893.